package com.night.icm.model.business;

import com.night.icm.common.night_enum.StudyStatus;
import com.night.icm.common.utils.TermType;
import com.night.icm.model.base.StudentDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * StudentCourseDTO
 *
 * @author Liao ZhiYong
 * @date 2020/2/5
 */
@ApiModel(description = "学生选课信息")
@Data
public class StudentCourseDTO {

    @ApiModelProperty(position = 110, value = "学生选课id，自增")
    private String id;

    @ApiModelProperty(position = 120, value = "年度，比如：2020年-2021年第一和第二学期都是2020年度的成绩")
    @NotNull
    @Size(max = 4)
    private String year;

    @ApiModelProperty(position = 130, value = "第一或第二学期，也叫上学期和下学期")
    private TermType termType;

    @ApiModelProperty(position = 140, value = "课程修读状态，已结课的课程不可删除和修改")
    private StudyStatus studyStatus;

    @ApiModelProperty(position = 150, value = "关联的开课课程")
    private CourseTeacherDTO courseTeacher;

    @ApiModelProperty(position = 160, value = "关联的学生")
    private StudentDTO student;
}